package jugador;

import organizacion.Equipo;

/**
 * Clase que gestiona un jugador en una partida
 *
 * @author Ibai
 */
public class Jugador {

    private Equipo equipo;
    private String nombre;
    private int creditos;
    private final int CREDITOS_BASE = 500;

    /**
     * Crea un nuevo jugador, le crea un equipo vacío y le asigna los
     * créditos que hay de base por defecto
     *
     * @param nombre El nombre del jugador
     */
    public Jugador(String nombre) {
        equipo = new Equipo();
        this.nombre = nombre;
        creditos = CREDITOS_BASE;
    }

    /**
     * Crea un nuevo jugador, le crea un equipo vacío y le asigna un número de créditos
     *
     * @param nombre El nombre del jugador
     * @param creditos El número de creditos con los que comienza
     */
    public Jugador(String nombre, int creditos) {
        this(nombre);
        this.creditos = creditos;
    }

    /**
     * Devuelve el número de creditos actual para el jugador
     *
     * @return El número de créditos
     */
    public int getCreditos() {
        return creditos;
    }

    /**
     * Establece la nueva cantidad de créditos para el jugador
     *
     * @param creditos La nueva cantidad de créditos
     */
    public void setCreditos(int creditos) {
        this.creditos = creditos;
    }

    /**
     * Devuelve el equipo del jugador
     *
     * @return El equipo
     */
    public Equipo getEquipo() {
        return equipo;
    }

    /**
     * Establece el nuevo equipo para el jugador
     *
     * @param equipo El nuevo equipo
     */
    public void setEquipo(Equipo equipo) {
        this.equipo = equipo;
    }

    /**
     * Devuelve el nombre del jugador
     *
     * @return El nombre del jugador
     */
    public String getNombre() {
        return nombre;
    }
}
